package com.sskj.mine.ui.activity;

import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

import com.alibaba.android.arouter.facade.annotation.Route;
import com.sskj.common.util.TimeFormatUtil;
import com.sskj.lib.RConfig;
import com.sskj.lib.base.BaseActivity;
import com.sskj.mine.R;
import com.sskj.mine.R2;
import com.sskj.mine.bean.MineAboutUsBean;
import com.sskj.mine.presenter.MineAboutUsLxPresenter;

import java.util.Date;

import butterknife.BindView;

@Route(path = RConfig.MINE_CONTANCT_US)//关于我们--联系我们
public class MineAboutUsLxActivity extends BaseActivity<MineAboutUsLxPresenter> {

    @BindView(R2.id.webView)
    WebView webView;

    @Override
    protected int getLayoutResId() {
        return R.layout.mine_activity_about_us_lx;
    }

    @Override
    public MineAboutUsLxPresenter getPresenter() {
        return new MineAboutUsLxPresenter();
    }

    @Override
    public boolean getImmersion() {
        return false;
    }

    @Override
    protected void initView() {
        super.initView();
        setTitle("关于我们");
        webView.setWebChromeClient(new WebChromeClient());
        webView.setWebViewClient(new WebViewClient());
        //声明WebSettings子类
        WebSettings webSettings = webView.getSettings();

//如果访问的页面中要与Javascript交互，则webview必须设置支持Javascript
        webSettings.setJavaScriptEnabled(true);
// 若加载的 html 里有JS 在执行动画等操作，会造成资源浪费（CPU、电量）
// 在 onStop 和 onResume 里分别把 setJavaScriptEnabled() 给设置成 false 和 true 即可

//支持插件

//设置自适应屏幕，两者合用
        webSettings.setUseWideViewPort(true); //将图片调整到适合webview的大小
        webSettings.setLoadWithOverviewMode(true); // 缩放至屏幕的大小

//缩放操作
        webSettings.setSupportZoom(true); //支持缩放，默认为true。是下面那个的前提。
        webSettings.setBuiltInZoomControls(true); //设置内置的缩放控件。若为false，则该WebView不可缩放
        webSettings.setDisplayZoomControls(false); //隐藏原生的缩放控件

//其他细节操作
        webSettings.setCacheMode(WebSettings.LOAD_DEFAULT); //关闭webview中缓存
        webSettings.setAllowFileAccess(true); //设置可以访问文件
        webSettings.setJavaScriptCanOpenWindowsAutomatically(true); //支持通过JS打开新窗口
        webSettings.setLoadsImagesAutomatically(true); //支持自动加载图片
        webSettings.setDefaultTextEncodingName("utf-8");//设置编码格式
        webSettings.setDomStorageEnabled(true); // 开启 DOM storage API 功能
        webSettings.setDatabaseEnabled(true);   //开启 database storage API 功能
        webSettings.setAppCacheEnabled(true);//开启 Application Caches 功能
        webView.clearCache(true);
        webView.clearFormData();
        webView.clearHistory();
    }

    public void updateUi(MineAboutUsBean datas) {
//        String content = datas.getWebAboutUs().replaceAll("<span.*?</span><span.*?</span>", "");
//        content = "<h2 align=\"center\" style=\" color:#333333;font-size: 36px\">" + datas.getTitle()
//                + "</h2>\n" +
//                "\n<div id=\"content\" align=\"center\"><font align=\"left\" size=\"5\" color=\"#9EA8AD\">" + TimeFormatUtil.SF_FORMAT_E.format(new Date(Long.valueOf(datas.getCreate_time()) * 1000)) + "</font></div>" +
//                "<br/>" + content;
        webView.loadData(getHtmlData(datas.getWebAboutUs()), "text/html; charset=UTF-8", null);
    }

    @Override
    protected void initData() {
        mPresenter.getData();
        showLoading();
    }
    private String getHtmlData(String bodyHTML) {
        hideLoading();
        String head = "<head>"
                + "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no\"> "
                + "<style>img{max-width: 100%; width:100%; height:auto;}*{margin:0px;}</style>"
                + "</head>";
        return "<html>" + head + "<body>" + bodyHTML + "</body></html>";
    }
}
